// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'ZMsSqlStoredProc.pas' rev: 5.00

#ifndef ZMsSqlStoredProcHPP
#define ZMsSqlStoredProcHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <ZStoredProc.hpp>	// Pascal unit
#include <ZSqlItems.hpp>	// Pascal unit
#include <ZSqlTypes.hpp>	// Pascal unit
#include <ZQuery.hpp>	// Pascal unit
#include <ZSqlExtra.hpp>	// Pascal unit
#include <ZLibMsSql.hpp>	// Pascal unit
#include <ZToken.hpp>	// Pascal unit
#include <ZMsSqlTr.hpp>	// Pascal unit
#include <ZMsSqlCon.hpp>	// Pascal unit
#include <DBCommon.hpp>	// Pascal unit
#include <ZDirMsSql.hpp>	// Pascal unit
#include <ZDirSql.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Db.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Zmssqlstoredproc
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TZZCustomMsSqlStoredProc;
class PASCALIMPLEMENTATION TZZCustomMsSqlStoredProc : public Zstoredproc::TZZStoredProc 
{
	typedef Zstoredproc::TZZStoredProc inherited;
	
private:
	bool FMustClose;
	Zmssqlcon::TZZMsSqlDatabase* __fastcall GetDatabase(void);
	Zmssqltr::TZZMsSqlTransact* __fastcall GetTransact(void);
	HIDESBASE void __fastcall SetDatabase(const Zmssqlcon::TZZMsSqlDatabase* Value);
	HIDESBASE void __fastcall SetTransact(const Zmssqltr::TZZMsSqlTransact* Value);
	
protected:
	virtual void __fastcall QueryRecord(void);
	virtual void __fastcall GetAllParams(const AnsiString spName);
	
public:
	__fastcall virtual TZZCustomMsSqlStoredProc(Classes::TComponent* AOwner);
	__fastcall virtual ~TZZCustomMsSqlStoredProc(void);
	virtual void __fastcall ExecProc(void);
	virtual void __fastcall AddTableFields(AnsiString Table, Zsqlitems::TSqlFields* SqlFields);
	virtual void __fastcall AddTableIndices(AnsiString Table, Zsqlitems::TSqlFields* SqlFields, Zsqlitems::TSqlIndices* 
		SqlIndices);
	
__published:
	__property Zmssqlcon::TZZMsSqlDatabase* Database = {read=GetDatabase, write=SetDatabase};
	__property Zmssqltr::TZZMsSqlTransact* Transaction = {read=GetTransact, write=SetTransact};
};


class DELPHICLASS TZZMsSqlStoredProc;
class PASCALIMPLEMENTATION TZZMsSqlStoredProc : public TZZCustomMsSqlStoredProc 
{
	typedef TZZCustomMsSqlStoredProc inherited;
	
__published:
	__property Active ;
	__property Database ;
	__property Transaction ;
	__property StoredProcName ;
	__property Params ;
	__property ParamBindMode ;
public:
	#pragma option push -w-inl
	/* TZZCustomMsSqlStoredProc.Create */ inline __fastcall virtual TZZMsSqlStoredProc(Classes::TComponent* 
		AOwner) : TZZCustomMsSqlStoredProc(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TZZCustomMsSqlStoredProc.Destroy */ inline __fastcall virtual ~TZZMsSqlStoredProc(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
static const Word LIST_BLOCK_SIZE = 0x1f4;
static const Shortint MIN_FETCH_ROWS = 0x0;
static const Shortint MAX_NAME_LENGTH = 0x32;
static const Shortint MAX_LINKS_COUNT = 0x5;
static const Shortint MAX_SORT_COUNT = 0x5;
static const Byte MAX_FIELD_COUNT = 0xff;
static const Shortint MAX_INDEX_COUNT = 0x19;
static const Shortint MAX_INDEX_FIELDS = 0x19;
static const Shortint DEFAULT_STRING_SIZE = 0x32;
static const Word MAX_STRING_SIZE = 0x200;
static const char DEFAULT_MACRO_CHAR = '\x25';
#define ZEOS_PALETTE "Zeos Common"
#define ZEOS_DB_PALETTE "Zeos Access"
static const Word ZDBO_VERSION = 0xc47c;

}	/* namespace Zmssqlstoredproc */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Zmssqlstoredproc;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// ZMsSqlStoredProc
